package modele;

import java.util.ArrayList;
import java.util.Random;

public class CarnetDeCommandes extends ArrayList<Commande> {

	private static CarnetDeCommandes instance = null;
	private int dernierNumConfirmation = -1;
	
	/**
	 * Constructeur
	 */
//	protected CarnetDeCommandes() {
		// Exists only to defeat instantiation.
//	}
	
	/**
	 * Retourne l'instance du carnet de commandes
	 * @return L'instance du carnet de commandes - CarnetDeCommandes
	 */
	public static CarnetDeCommandes getInstance() {
	      if(instance == null) {
	         instance = new CarnetDeCommandes();
	      }
	      return instance;
	}
	
	/**
	 * Ajoute une commande à la liste des commandes
	 * @param c - Commande
	 * @return Le dernier numéro de confirmation créé
	 */
	public int ajouter(Commande c){
		int numeroConfirmation = genererNumConfirmation();
		c.setNumConfirmation(numeroConfirmation);
		super.add(c);
		return numeroConfirmation;
	}
	
	/**
	 * Génère un numéro de confirmation
	 * @return Un numéro au hasard de 7 caractères maximum
	 */
	public int genererNumConfirmation(){
		return new Random().nextInt(1000000);
	}
}